//abstract class A {
//    public int a ;
//    public int b ;
//    public A() {
//
//    }
//    public A(int a, int b) {
//        this.a = a;
//        this.b = b;
//    }
//}
//
//public class B extends A {
//    public class Main {
//        public static void main(String[] args) {
//
//        }
//    }
//}

//abstract class A {
//    public int a;
//    public int b;
//    public A(int a, int b) {
//this.a = a;
//this.b = b;
//    }
//}
//
//class B extends A {
//    public B(int a, int b) {
//        super(a, b);
//    }
//}
//
//public class Main {
//
//    public static void main(String[] args) {
//        B b = new B(5, 3);
//        System.out.println(b.a);
//    }
//}


//缺点：这个狗的名字固定好了就叫做小太阳，但它不一定叫小太阳
//abstract class Animal {
//    public String name;
//    public int age;
//    public Animal(String name, int age) {
//        this.name = name;
//        this.age = age;
//    }
//    public abstract void eat();
//
//}
//
//class Dog extends Animal {
//    public Dog() {
//        super("小太阳", 5);
//    }
//    public void eat() {
//        System.out.println(name + "吃狗粮");
//    }
//}
//
//public class Main {
//    public static void main(String[] args) {
//        Dog dog = new Dog();
//        dog.eat();
//    }
//}


//比起上面哪一个这个的优点是名字年龄不固定是灵活的可以修改
//abstract class Animal {
//    public String name;
//    public int age;
//    public Animal(String name, int age) {
//        this.name = name;
//        this.age = age;
//    }
//    public abstract void eat();//抽象方法必须在子类重写
//
//}
//
//class Dog extends Animal {
//    public Dog(String name, int age) {
//        super(name,age);
//    }
//    public void eat() {//子类重写父类的抽象方法
//        System.out.println(name + "吃狗粮");
//    }
//}
//
//public class Main {
//    public static void main(String[] args) {
//        Dog dog = new Dog("旺旺",12);
//        dog.eat();
//    }
//}


//abstract class Shape {
//    public abstract void draw();
//}
//鼠标在红色波浪线处点击alt+回车(用来快速重写父类的抽象方法)
// class Rectangle extends Shape {
//     @Override
//     public void draw() {
//System.out.println("Rectangle");
//     }
// }
//class Circle extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Circle");
//    }
//}
//class Flower extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Flower");
//    }
//}
//public class Main {
//    public static void main(String[] args) {
//        Shape shape1 = new Rectangle();
//        Shape shape2 = new Circle();
//        Shape shape3 = new Flower();
//        shape1.draw();
//        shape2.draw();
//        shape3.draw();
//    }
//}


//abstract class Shape {
//    public abstract void draw();
//}
//
//class Rectangle extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Rectangle");
//    }
//}
//class Circle extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Circle");
//    }
//}
//class Flower extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Flower");
//    }
//}
//public class Main {
//    public static void drawMap(Shape shape) {
//        shape.draw();
//    }
//    public static void main(String[] args) {
//Rectangle rectangle = new Rectangle();
//Circle circle = new Circle();
//Flower flower = new Flower();
//drawMap(rectangle);
//drawMap(circle);
//drawMap(flower);
//    }
//}


//abstract class Shape {
//    public abstract void draw();
//}
//
//class Rectangle extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Rectangle");
//    }
//}
//class Circle extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Circle");
//    }
//}
//class Flower extends Shape {
//    @Override
//    public void draw() {
//        System.out.println("Flower");
//    }
//}
//public class Main {
//    public static void main(String[] args) {
//        Shape[] shapes = {new Rectangle(), new Circle(), new Flower()};
//        for (Shape shape : shapes) {
//            shape.draw();
//        }
//    }
//}













































